home *** CD-ROM | disk | FTP | other *** search
/ Popular Request / By Popular Request (Arsenal Computer)(SysOptics Distribution System).ISO / amiga4 / rsysv1_3.lha / RSys13.install < prev    next >
Text File  |  1993-09-26  |  22KB  |  583 lines

  1. ;--------------------------------------------------------------------------
  2. ; $VER: RSys13.Install 1.31 (25-Sep-93)
  3. ;--------------------------------------------------------------------------
  4. ; Install script for RSys 1.3
  5. ;--------------------------------------------------------------------------
  6.  
  7. (set @abort-button "Installation abbrechen")
  8. (set @language     "deutsch")
  9.  
  10. (set @pretend      0)
  11. (set @user-level   2)
  12.  
  13. (set @rsysversion  "1.3")
  14.  
  15. (set RSysMain     "RSYS:")
  16. (set RSysDoc      "RSYS:Doc/")
  17. (set RSysSrc      "RSYS:Src/")
  18. (set RSysCalls    "RSYS:Src/Calls/")
  19. (set RSysData     "RSYS:Data/")
  20. (set RSysGoodies  "RSYS:")
  21. (set RSysArexx    "RSYS:Arexx/")
  22.  
  23. (set ass-created 0)
  24.  
  25. (set RSys-dir-size   185000)
  26. (set doc-dir-size    582000)
  27. (set src-dir-size    580000)
  28. (set calls-dir-size   80000)
  29. (set goodies-size     55000)
  30. (set arexx-size        8000)
  31.  
  32. (set tmpdir "T:@@@")
  33.  
  34. (set starline "\n     ----------------------------------------")
  35.  
  36. ;--------------------------------------------------------------------------
  37. ; This is the Welcome
  38. ;--------------------------------------------------------------------------
  39. (set @welcome (cat "----------------------------------------"
  40.          "\n\n Willkommen zu der Installation von RSys "@rsysversion "!\n"
  41.          "\n Bitte lesen Sie nach der Installation zuerst die"
  42.          "\nDokumentation, damit Sie RSys auch im vollen Umfang"
  43.          "\n nutzen k÷nnen. Viel Erfolg bei der Installation!\n\n"
  44.          "\nDieses Script k÷nnen Sie auch dazu verwenden, Teile"
  45.          "\ndes Programmpaketes nachzuinstallieren.\n"
  46.          "\n----------------------------------------")
  47. )
  48.  
  49. (set archiver-help (cat starline
  50.                         "\nHier geben Sie Ihr Entpack-Programm an,"
  51.                         " mit dem Sie die Archive entpacken k÷nnen."
  52.                         starline
  53.                         "\n\n" @askfile-help)
  54. )
  55. (set work-tmp-archiv (cat "\n\n" "Entpacke das Archiv in ein T:-Unterverzeichnis."
  56.                           "\n"   "Liegt es im RAM:, so kann die Installation"
  57.                           "\n"   "schneller durchfⁿhrt werden."
  58.                           "\n\n" )
  59. )
  60. (set work-RSys-archiv (cat "\n\n" "Entpacke Hauptprogramm und die Daten."
  61.                           "\n\n" )
  62. )
  63. (set work-RSysDoc-archiv (cat "\n\n" "Entpacke die Dokumentation."
  64.                           "\n\n" )
  65. )
  66. (set ask-dest-dir-help (cat starline
  67.                              "\nIn diesem anzugebenden Verzeichnis"
  68.                              " befinden sich alle Dateien, die zu RSys"
  69.                              " geh÷ren. Sie k÷nnen auch ein neues"
  70.                              " Verzeichnis anlegen."
  71.                              starline
  72.                              "\n\n" @askdir-help)
  73. )
  74. (set copy-to-destdir-help (cat starline
  75.                                "\nDie Dateien werden in das Zielverzeichnis kopiert."
  76.                                starline
  77.                                "\n\n" @copyfiles-help)
  78. )
  79. (set copy-lib-help (cat starline
  80.                                "\nDie Library amigaguide.library wird im Verzeichns"
  81.                                "\nLIBS: installiert. Damit kann die RSys-Amigaguide-"
  82.                                "\nHilfe genutzt werden."
  83.                                starline
  84.                                "\n\n" @askbool-help)
  85. )
  86. (set ask-src-dir-help (cat starline
  87.                              "\nIn diesem anzugebenden Verzeichnis"
  88.                              " befinden sich alle C-Quelltexte von RSys"
  89.                              " geh÷ren. Sie k÷nnen auch ein neues"
  90.                              " Verzeichnis anlegen."
  91.                              starline
  92.                              "\n\n" @askdir-help)
  93. )
  94. (set ask-doc-dir-help (cat starline
  95.                              "\nIn diesem anzugebenden Verzeichnis"
  96.                              " befindet sich die Dokumentation von RSys."
  97.                              " Sie k÷nnen auch ein neues Verzeichnis"
  98.                              " anlegen."
  99.                              starline
  100.                              "\n\n" @askdir-help)
  101. )
  102. (set install-env-help (cat starline
  103.                            "\nRSys arbeitet mit zwei Environmentvariablen, RSYSHELP"
  104.                            " und RSYSACTION. In ihnen stehen die Pfadnamen fⁿr"
  105.                            " eine Hilfedatei und der Aktionsdatei."
  106.                            starline
  107.                            "\n\n" @askbool-help)
  108. )
  109. (set install-src-help (cat starline
  110.                            "\nZum Lieferumfang von RSys geh÷ren sΣmtliche Quelltexte."
  111.                            " WΣhlen Sie \"Ja\", so werden die C-Sourcen in ein"
  112.                            " auszuwΣhlendes Verzeichnis entpackt."
  113.                            starline
  114.                            "\n\n" @askbool-help)
  115. )
  116. (set install-calls-help (cat starline
  117.                            "\nZum Lieferumfang von RSys geh÷ren auch die Calls."
  118.                            " Das sind die Dateien, in denen die Struktur der"
  119.                            " Quelltexte dokumentiert sind. Sie dienen nur der"
  120.                            " Programmdokumentation und brauchen nicht installiert"
  121.                            " zu werden."
  122.                            starline
  123.                            "\n\n" @askbool-help)
  124. )
  125. (set install-Arexx-help (cat starline
  126.                            "\nZum Lieferumfang von RSys geh÷rt eine."
  127.                            " Arexx-Datei zum Erstellen der Library-Offsets."
  128.                            " Sie braucht nicht installiert zu werden."
  129.                            starline
  130.                            "\n\n" @askbool-help)
  131. )
  132. (set install-doc-help (cat starline
  133.                            "\nZum Lieferumfang von RSys geh÷rt die Dokumentation."
  134.                            " WΣhlen Sie \"Ja\", so werden die Dokumentationen"
  135.                            " in ein auszuwΣhlendes Verzeichnis entpackt."
  136.                            starline
  137.                            "\n\n" @askbool-help)
  138. )
  139. (set install-goodies-help (cat starline
  140.                            "\nZum Lieferumfang von RSys geh÷rt einige nette Goodies."
  141.                            " WΣhlen Sie \"Ja\", so werden die Programme"
  142.                            " in ein auszuwΣhlendes Verzeichnis entpackt."
  143.                            starline
  144.                            "\n\n" @askbool-help)
  145. )
  146. (set my-choice-help (cat starline
  147.                            "\nHier k÷nnen Sie auswΣhlen, welche Teile des"
  148.                            " Programmpaketes installiert werden sollen."
  149.                            starline
  150.                            "\n\n" @askchoice-help)
  151. )
  152. (set wbstart-copy-help (cat starline
  153.                             "\nEs gibt die M÷glichkeit, RSys nach jedem Neustart"
  154.                             " des Rechners automatisch zu starten. Dazu mⁿssen die"
  155.                             " Dateien RSys und RSys.info in das Verzeichnis"
  156.                             " SYS:WBStartup kopiert werden."
  157.                             starline
  158.                             "\n\n" @askbool-help)
  159. )
  160. (set del-tmp-help (cat starline
  161.                        "\nInstall hat ein TemporΣrverzeichnis angelegt,"
  162.                        " damit die Installation schneller voran geht."
  163.                        " Sie werden nun gefragt, ob Sie es l÷schen"
  164.                        " m÷chten."
  165.                        starline
  166.                        "\n\n" @askbool-help)
  167. )
  168. (set startup-help (cat starline
  169.                        "\nInstall wird ein Assign namens RSYS: in die"
  170.                        " die Datei S:User-Startup eintragen. Damit kann"
  171.                        " RSys alle externen Dateien leichter finden."
  172.                        starline
  173.                        "\n\n" @startup-help)
  174. )
  175.  
  176.  
  177. ;--------------------------------------------------------------------------
  178. ; Ask the user which archiver were used
  179. ;--------------------------------------------------------------------------
  180. (procedure AskArchiver
  181. (
  182.    (set archiver (askfile (prompt "\n" "Geben Sie hier Ihr LHARC-Programm an:")
  183.                           (help archiver-help)
  184.                           (default "C/LhX")
  185.                  )
  186.    )
  187. ))
  188.  
  189. ;--------------------------------------------------------------------------
  190. ; Installs the RSys main files
  191. ;--------------------------------------------------------------------------
  192. (procedure InstallRSysFiles
  193.    (
  194.       (set freespace (getdiskspace RSysMain))
  195.  
  196.       (if (>= freespace RSys-dir-size)
  197.          (
  198.             (set unpack (cat archiver " x RSysExe.lha " RSysMain))
  199.             (working (cat work-RSys-archiv unpack))
  200.             (run unpack)
  201.  
  202.             (set unpack (cat archiver " x RSysData.lha " RSysData))
  203.             (working (cat work-RSys-archiv unpack))
  204.             (run unpack)
  205.  
  206.             (copyfiles (prompt "\nKopiere RSys.info...\n")
  207.                        (source (tackon tmpdir "RSys.info"))
  208.                        (dest RSysMain))
  209.  
  210.             (copyfiles (prompt "\nKopiere Data.info...\n")
  211.                        (source (tackon tmpdir "Data.info"))
  212.                        (dest RSysMain))
  213.  
  214.             (set full-path (expandpath RSysMain))
  215.             (set file-path (pathonly full-path))
  216.  
  217.             (if (<> full-path file-path)
  218.                 (
  219.                   (set copy-icon (cat "copy " (tackon tmpdir "RSysDir.info") " "
  220.                                  (cat destdir ".info")))
  221.                   (working (cat "\nKopiere Home-Icon...\n\n" copy-icon))
  222.                   (run copy-icon)
  223.                 )
  224.             )
  225.  
  226.             (if (askbool (prompt "\n" "Soll RSys nach SYS:WBStartup/ kopiert werden?")
  227.                          (help wbstart-copy-help)
  228.                          (default 1))
  229.                 ((copyfiles (prompt "\nKopiere RSys...\n")
  230.                             (source (tackon RSysMain "RSys"))
  231.                             (dest "SYS:WBStartup"))
  232.                  (copyfiles (prompt "\nKopiere RSys.info...\n")
  233.                             (source (tackon RSysMain "RSys.info"))
  234.                             (dest "SYS:WBStartup"))
  235.                 )
  236.             )
  237.          )
  238.          (
  239.             (message (cat "\nFⁿr RSys " @rsysversion " sind mindestens"
  240.                           "\n   " RSys-dir-size " Bytes"
  241.                           "\nfreier Platz auf der Festplatte oder"
  242.                           "\nDiskette notwendig!"))
  243.          )
  244.       )
  245.    )
  246. )
  247.  
  248. ;--------------------------------------------------------------------------
  249. ; Installs the document files for RSys
  250. ;--------------------------------------------------------------------------
  251. (procedure InstallDocFiles
  252.    (
  253.       (if (askbool (prompt "\nSoll die Dokumentation entpackt werden?"
  254.                            "\nSie ben÷tigen dafⁿr ca. " doc-dir-size " Bytes.")
  255.                    (help install-doc-help)
  256.                    (default 1))
  257.          (
  258.             (set freespace (getdiskspace RSysMain))
  259.  
  260.             (if (>= freespace doc-dir-size)
  261.                 (
  262.                   (set unpack (cat archiver " x RSysDoc.lha " RSysDoc))
  263.                   (working (cat work-RSysDoc-archiv unpack))
  264.                   (run unpack)
  265.  
  266.                   (copyfiles (prompt "\nKopiere Doc.info...\n")
  267.                              (source (tackon tmpdir "Doc.info"))
  268.                              (dest RSysMain))
  269.                 )
  270.                 (
  271.                   (message (cat "\nFⁿr die Dokumentation sind mindestens"
  272.                                 "\n   " doc-dir-size " Bytes"
  273.                                 "\nfreier Platz auf der Festplatte oder"
  274.                                 "\nDiskette notwendig!"))
  275.                 )
  276.             )
  277.          )
  278.       )
  279.    )
  280. )
  281.  
  282. ;--------------------------------------------------------------------------
  283. ; Installs the Sourcefiles for RSys
  284. ;--------------------------------------------------------------------------
  285. (procedure InstallSrcFiles
  286.    (
  287.       (if (askbool (prompt "\nSollen die C_Quellentexte entpackt werden?"
  288.                            "\nSie ben÷tigen dafⁿr ca. " src-dir-size " Bytes.")
  289.                    (help install-src-help)
  290.                    (default 1))
  291.          (
  292.           (set freespace (getdiskspace RSysMain))
  293.  
  294.           (if (>= freespace src-dir-size)
  295.                (
  296.                   (set unpack (cat archiver " x RSysSrc.lha " RSysSrc))
  297.                   (working (cat "\n\n" "Entpacke Quelltexte nach " RSysSrc "...\n\n"
  298.                                 unpack ))
  299.                   (run unpack)
  300.  
  301.                   (copyfiles (prompt "\nKopiere Src.info...\n")
  302.                              (source (tackon tmpdir "Src.info"))
  303.                              (dest RSysMain))
  304.                )
  305.                (
  306.                   (message (cat "\nFⁿr die Quelltexte sind mindestens"
  307.                                 "\n   " src-dir-size " Bytes"
  308.                                 "\nfreier Platz auf der Festplatte oder"
  309.                                 "\nDiskette notwendig!"))
  310.                )
  311.           )
  312.          )
  313.       )
  314.    )
  315. )
  316.  
  317. ;--------------------------------------------------------------------------
  318. ; Installs the Call-files for RSys source files
  319. ;--------------------------------------------------------------------------
  320. (procedure InstallCallFiles
  321.    (
  322.       (if (askbool (prompt "\n" "Sollen die Calls entpackt werden?"
  323.                            "\nSie ben÷tigen dafⁿr ca. " calls-dir-size " Bytes.")
  324.                    (help install-calls-help)
  325.                    (default 1))
  326.          (
  327.           (set freespace (getdiskspace RSysMain))
  328.  
  329.           (if (>= freespace calls-dir-size)
  330.                (
  331.                   (set unpack (cat archiver " x RSysCalls.lha " RSysCalls))
  332.                   (working (cat "\n\n" "Entpacke Quelltexte nach " RSysCalls "...\n\n"
  333.                               unpack ))
  334.                   (run unpack)
  335.                )
  336.                (
  337.                   (message (cat "\nFⁿr die Call-Files sind mindestens"
  338.                                 "\n   " calls-dir-size " Bytes"
  339.                                 "\nfreier Platz auf der Festplatte oder"
  340.                                 "\nDiskette notwendig!"))
  341.                )
  342.           )
  343.          )
  344.       )
  345.    )
  346. )
  347.  
  348. ;--------------------------------------------------------------------------
  349. ; Installs the Goodies
  350. ;--------------------------------------------------------------------------
  351. (procedure InstallGoodies
  352.    (
  353.       (if (askbool (prompt "\n" "Sollen die Goodies entpackt werden?"
  354.                            "\nSie ben÷tigen dafⁿr ca. " goodies-size " Bytes.")
  355.                    (help install-Goodies-help)
  356.                    (default 1))
  357.          (
  358.           (set freespace (getdiskspace RSysMain))
  359.  
  360.           (if (>= freespace goodies-size)
  361.              ((set unpack (cat archiver " x RSysGoodies.lha " RSysGoodies ))
  362.  
  363.               (working (cat "\n\n" "Entpacke Goodies nach " RSysGoodies "...\n\n"
  364.                         unpack ))
  365.               (run unpack)
  366.  
  367.               (copyfiles (prompt "\nKopiere Goodies.info...\n")
  368.                          (source (tackon tmpdir "Goodies.info"))
  369.                          (dest RSysMain))
  370.              )
  371.              ((message (cat "\nFⁿr die Goodies sind mindestens "
  372.                             "\n  " goodies-size " Byte"
  373.                             "\nfreier Platz auf der Festplatte oder"
  374.                             "\nDiskette notwendig!"))
  375.              )
  376.           )
  377.          )
  378.       )
  379.    )
  380. )
  381.  
  382. ;--------------------------------------------------------------------------
  383. ; Installs the Arexx-Support-Files
  384. ;--------------------------------------------------------------------------
  385. (procedure InstallArexx
  386.    (
  387.       (if (askbool (prompt "\n" "Sollen die Arexx-Dateien entpackt werden?"
  388.                            "\nSie ben÷tigen dafⁿr ca. " arexx-size " Bytes.")
  389.                    (help install-Arexx-help)
  390.                    (default 1))
  391.          (
  392.           (set freespace (getdiskspace RSysMain))
  393.  
  394.           (if (>= freespace arexx-size)
  395.              ((set unpack (cat archiver " x RSysArexx.lha " RSysArexx))
  396.  
  397.               (working (cat "\n\n" "Entpacke Arexx-Files nach " RSysArexx "...\n\n"
  398.                             unpack ))
  399.               (run unpack)
  400.  
  401.               (copyfiles (prompt "\nKopiere Arexx.info...\n")
  402.                          (source (tackon tmpdir "Arexx.info"))
  403.                          (dest RSysMain))
  404.              )
  405.              ((message (cat "\nFⁿr die Goodies sind mindestens "
  406.                             "\n  " arexx-size " Byte"
  407.                             "\nfreier Platz auf der Festplatte oder"
  408.                             "\nDiskette notwendig!"))
  409.              )
  410.           )
  411.          )
  412.       )
  413.    )
  414. )
  415.  
  416. ;--------------------------------------------------------------------------
  417. ; Kills the T:@@@-Verzeichnis to return memory
  418. ;--------------------------------------------------------------------------
  419. (procedure KillTmpDirectory
  420. (
  421.    (if (askbool (prompt "\nSoll das TemporΣrverzeichnis gel÷scht werden?")
  422.                 (help del-tmp-help)
  423.                 (default 1)
  424.        )
  425.        (
  426.          (working (cat "\n\n" "L÷sche TemporΣrverzeichnis " tmpdir "..."))
  427.          (run (cat "delete " tmpdir " all"))
  428.        )
  429.    )
  430. ))
  431.  
  432. ;--------------------------------------------------------------------------
  433. ;  Installs the AmigaGuide-Library to support the help function of RSys
  434. ;--------------------------------------------------------------------------
  435. (procedure CopyLibraries
  436. (
  437.    (if (askbool (prompt "\nM÷chten Sie die amigaguide library installieren?")
  438.                 (help copy-lib-help)
  439.                 (default 1)
  440.        )
  441.       (
  442.          (set unpack (cat archiver " x RSysLibs.lha " tmpdir "/"))
  443.          (run unpack)
  444.  
  445.          (copylib (help @copylib-help)
  446.                   (prompt "M÷chten Sie die amigaguide library installieren?")
  447.                   (confirm)
  448.                   (source (tackon tmpdir "amigaguide.library"))
  449.                   (dest "LIBS:")
  450.          )
  451.       )
  452.    )
  453. ))
  454.  
  455. ;--------------------------------------------------------------------------
  456. ;  Installs the AmigaGuide-Library to support the help function of RSys
  457. ;--------------------------------------------------------------------------
  458. (procedure UnpackIcons
  459. (
  460.    (set unpack (cat archiver " x RSysIcons.lha " tmpdir "/"))
  461.    (working (cat "\n\n" "Entpacke Icon-Files ...\n\n" unpack ))
  462.    (run unpack)
  463. ))
  464.  
  465. ;--------------------------------------------------------------------------
  466. ;  Installs the Assign RSYS: to make finding files easier
  467. ;--------------------------------------------------------------------------
  468. (procedure MakeAssignment
  469.    (
  470.       (run "Assign RSYS: REMOVE")
  471.  
  472.       (makeassign "RSYS" destdir)
  473.  
  474.       (startup
  475.           "RSYS"
  476.           (prompt "Soll das Assign 'RSYS:' in die 'S:User-Startup'"
  477.                   " geschrieben werden? \n")
  478.           (help startup-help)
  479.           (command  ("ASSIGN >NIL: RSYS: %s " destdir))
  480.       )
  481.    )
  482. )
  483.  
  484. ;--------------------------------------------------------------------------
  485. ; Sure we are running under a 2.04 ROM ?
  486. ;--------------------------------------------------------------------------
  487. (procedure TestSystemVersion
  488. (
  489.    (if (< (/ (getversion) 65536) 37)
  490.        (
  491.          (message "\n Das Programm ben÷tigt OS v2.04 oder h÷her. \n")
  492.          (exit (quiet))
  493.        )
  494.    )
  495. ))
  496.  
  497. ;--------------------------------------------------------------------------
  498. ; Main programm
  499. ;--------------------------------------------------------------------------
  500. (procedure MainInstall
  501.    (
  502.       (run "RUN SYS:Utilities/More Copyright")
  503.  
  504.       (message @welcome)
  505.  
  506.       (TestSystemVersion)
  507.       (AskArchiver)
  508.  
  509.       (if (exists archiver)
  510.          (
  511.             (set destdir   (askdir (prompt "\nWΣhlen Sie bitte das Hauptverzeichnis"
  512.                                            " von RSys " @rsysversion "\n" )
  513.                                    (help ask-dest-dir-help)
  514.                                    (default "Work:")))
  515.  
  516.             (MakeAssignment)
  517.  
  518.             (UnpackIcons)
  519.  
  520.             (set part-install
  521.                   (askchoice
  522.                         (prompt "Welche Teile des Programmpaketes m÷chten Sie installieren?")
  523.                           (help my-choice-help)
  524.                           (choices (cat "Alles installieren              (1490000 Bytes)")
  525.                                  (cat "Nur RSys lauffΣhig installieren (" Rsys-dir-size " Bytes)")
  526.                                  (cat "Dokumentation installieren      (" doc-dir-size " Bytes)")
  527.                                  (cat "C-Quelltexte installieren       (66000 Bytes)")
  528.                                  (cat "Goodies installieren            (" goodies-size " Bytes)")
  529.                                  (cat "Arexx-Support installieren      (" arexx-size " Bytes)"))
  530.                           (default 0)))
  531.  
  532.             (if (OR (= part-install 0) (= part-install 1))
  533.                (
  534.                   (InstallRSysFiles)
  535.                   (CopyLibraries)
  536.                )
  537.             )
  538.  
  539.             (if (OR (= part-install 0) (= part-install 2))
  540.                (
  541.                   (InstallDocFiles)
  542.                )
  543.             )
  544.  
  545.             (if (OR (= part-install 0) (= part-install 3))
  546.                (
  547.                   (InstallSrcFiles)
  548.                   (InstallCallFiles)
  549.                )
  550.             )
  551.  
  552.             (if (OR (= part-install 0) (= part-install 4))
  553.                (
  554.                   (InstallGoodies)
  555.                )
  556.             )
  557.  
  558.             (if (OR (= part-install 0) (= part-install 5))
  559.                (
  560.                   (InstallArexx)
  561.                )
  562.             )
  563.  
  564.             (KillTmpDirectory)
  565.  
  566.             (set @default-dest destdir)
  567.  
  568.             (exit)
  569.          )
  570.          (
  571.             (abort (cat "Der Archiver " archiver " existiert nicht!"))
  572.          )
  573.       )
  574.    )
  575. )
  576.  
  577. ;--------------------------------------------------------------------------
  578. ; Call the Main programm
  579. ;--------------------------------------------------------------------------
  580.  
  581. (MainInstall)
  582.  
  583.